1 #importing all modules
2 from
tkinter import *
3 from
functools import partial
4 import tkinter.messagebox
5 import backend
6 backend.connect_database()
7
8 #A function
for check that acc_no is integer or not
9 def check_string_in_account_no(check_acc_no):
10     r=check_acc_no.isdigit()
11     
return r
12
13
14 #all buttons of page2
15 def create():
16     def create_customer_in_database():
17         def delete_create():
18             create_employee_frame.grid_forget()
19             page2()
20         name = entry5.
get()
21         age = entry6.
get()
22         address = entry7.
get()
23         balance = entry8.
get()
24         acc_type = entry9.
get()
25         mobile_number = entry10.
get()
26         
if len(name) != 0 and len(age) != 0 and len(address) != 0 and len(balance) != 0 and len(acc_type) != 0 and len(
27                 mobile_number) !=
0:
28
29             acc_no = backend.create_customer(name, age, address, balance, acc_type, mobile_number)
30
31             label = Label(create_employee_frame, text=
'Your account number is {}'.format(acc_no))
32             label.grid(row=
14)
33
34             button = Button(create_employee_frame, text=
"Exit", command=delete_create)
35             button.grid(row=
15)
36         
else:
37             label = Label(create_employee_frame, text=
'Please fill all entries')
38             label.grid(row=
14)
39
40             button = Button(create_employee_frame, text=
"Exit", command=delete_create)
41             button.grid(row=
15)
42     frame1.grid_forget()
43     
global create_employee_frame
44     create_employee_frame=Frame(tk,bg=
'black')
45     create_employee_frame.grid(padx=
500,pady=150)
46
47     label=Label(create_employee_frame,text=
'Customer Detail',font='bold')
48     label.grid(row=
0,pady=4)
49     label = Label(create_employee_frame, text=
'Name', font='bold')
50     label.grid(row=
1,pady=4)
51     
global entry5
52     entry5=Entry(create_employee_frame)
53     entry5.grid(row=
2,pady=4)
54     label = Label(create_employee_frame, text=
'Age', font='bold')
55     label.grid(row=
3,pady=4)
56     
global entry6
57     entry6=Entry(create_employee_frame)
58     entry6.grid(row=
4,pady=4)
59     label = Label(create_employee_frame, text=
'address', font='bold')
60     label.grid(row=
5,pady=4)
61     
global entry7
62     entry7=Entry(create_employee_frame)
63     entry7.grid(row=
6,pady=4)
64     label = Label(create_employee_frame, text=
'Balance', font='bold')
65     label.grid(row=
7,pady=4)
66     
global entry8
67     entry8=Entry(create_employee_frame)
68     entry8.grid(row=
8,pady=4)
69     label = Label(create_employee_frame, text=
'Account Type', font='bold')
70     label.grid(row=
9,pady=4)
71     label = Label(create_employee_frame, text=
'Mobile number', font='bold')
72     label.grid(row=
11,pady=4)
73     
global entry9
74     entry9 = Entry(create_employee_frame)
75     entry9.grid(row=
10,pady=4)
76     
global entry10
77     entry10 = Entry(create_employee_frame)
78     entry10.grid(row=
12,pady=4)
79     button=Button(create_employee_frame,text=
'Submit',command=create_customer_in_database)
80     button.grid(row=
13,pady=4)
81
82     mainloop()
83
84 def search_acc():
85     frame1.grid_forget()
86     
global search_frame
87     search_frame=Frame(tk)
88     search_frame.grid(padx=
500,pady=300)
89
90     label=Label(search_frame,text=
"Enter account number",font='bold')
91     label.grid(row=
0,pady=6)
92
93     
global entry11
94     entry11=Entry(search_frame)
95     entry11.grid(row=
1,pady=6)
96
97     button=Button(search_frame,text=
"Search",command=show)
98     button.grid(row=
3)
99
100     mainloop()
101
102 def show():
103     def clear_show_frame():
104         show_frame.grid_forget()
105         page2()
106     def back_page2():
107         search_frame.grid_forget()
108         page2()
109
110     acc_no=entry11.
get()
111     r=check_string_in_account_no(acc_no)
112     
if len(acc_no)!=0 and r:
113         details=backend.get_details(acc_no)
114         
if details!=False:
115             search_frame.grid_forget()
116             
global show_frame
117             show_frame=Frame(tk)
118             show_frame.grid(padx=
400,pady=200)
119
120             label=Label(show_frame,text=
"Account_number:\t{}".format(details[0]),font='bold')
121             label.grid(row=
0,pady=6)
122             label = Label(show_frame, text=
"Name:\t{}".format(details[1]),font='bold')
123             label.grid(row=
1,pady=6)
124             label = Label(show_frame, text=
"Age:\t{}".format(details[2]),font='bold')
125             label.grid(row=
2,pady=6)
126             label = Label(show_frame, text=
"Address:\t{}".format(details[3]),font='bold')
127             label.grid(row=
3,pady=6)
128             label = Label(show_frame, text=
"Balance:\t{}".format(details[4]),font='bold')
129             label.grid(row=
4,pady=6)
130             label = Label(show_frame, text=
"Account_type:\t{}".format(details[5]),font='bold')
131             label.grid(row=
5,pady=6)
132             label = Label(show_frame, text=
"Mobile Number:\t{}".format(details[6]),font='bold')
133             label.grid(row=
6,pady=6)
134             button=Button(show_frame,text=
'Exit',command=clear_show_frame,width=20,height=2,bg='red',fg='white')
135             button.grid(row=
7,pady=6)
136             mainloop()
137         
else:
138             label=Label(search_frame,text=
"Account Not Found")
139             label.grid()
140             button=Button(search_frame,text=
'Exit',command=back_page2)
141             button.grid()
142
143     
else:
144         label = Label(search_frame, text=
"Enter correct account number")
145         label.grid()
146         button = Button(search_frame, text=
'Exit', command=back_page2)
147         button.grid()
148
149 def
add():
150     frame1.grid_forget()
151     def search_in_database():
152         def back_page2():
153             search_frame.grid_forget()
154             page2()
155         
global result
156         
global acc_no
157         acc_no = entry11.
get()
158         r=check_string_in_account_no(acc_no)
159         
if len(acc_no)!=0 and r:
160             result = backend.check_acc_no(acc_no)
161             print(result)
162             
if not result:
163                 label = Label(search_frame, text=
"invalid account number")
164                 label.grid(pady=
2)
165                 button=Button(search_frame, text=
"Exit",command=back_page2)
166                 button.grid()
167                 mainloop()
168             
else:
169                 def update_money():
170                     new_money=entry12.
get()
171                     backend.update_balance(new_money,acc_no)
172                     add_frame.grid_forget()
173                     page2()
174
175                 search_frame.grid_forget()
176                 
global add_frame
177                 add_frame=Frame(tk)
178                 add_frame.grid(padx=
400,pady=300)
179
180                 detail = backend.get_detail(acc_no)
181
182                 label = Label(add_frame, text=
'Account holder name: {}'.format(detail[0][0]))
183                 label.grid(row=
0, pady=3)
184
185                 label = Label(add_frame, text=
'Current amount: {}'.format(detail[0][1]))
186                 label.grid(row=
1, pady=3)
187
188                 label=Label(add_frame,text=
'Enter Money')
189                 label.grid(row=
2,pady=3)
190                 
global entry12
191                 entry12=Entry(add_frame)
192                 entry12.grid(row=
3,pady=3)
193
194                 button=Button(add_frame,text=
'Add',command=update_money)
195                 button.grid(row=
4)
196
197                 mainloop()
198         
else:
199             label = Label(search_frame, text=
"Enter correct account number")
200             label.grid(pady=
2)
201             button = Button(search_frame, text=
"Exit", command=back_page2)
202             button.grid()
203             mainloop()
204     def search_acc():
205         
global search_frame
206         search_frame = Frame(tk)
207         search_frame.grid(padx=
500, pady=300)
208
209         label = Label(search_frame, text=
"Enter account number", font='bold')
210         label.grid(row=
0, pady=6)
211
212         
global entry11
213         entry11 = Entry(search_frame)
214         entry11.grid(row=
1, pady=6)
215
216         button = Button(search_frame, text=
"Search", command=search_in_database)
217         button.grid(row=
3)
218
219         mainloop()
220     search_acc()
221
222 def withdraw():
223     frame1.grid_forget()
224
225     def search_in_database():
226         def go_page2():
227             search_frame.grid_forget()
228             page2()
229
230         
global result
231         
global acc_no
232         acc_no = entry11.
get()
233         r=check_string_in_account_no(acc_no)
234         
if len(acc_no)!=0 and r:
235             result = backend.check_acc_no(acc_no)
236             print(result)
237             
if not result:
238                 label = Label(search_frame, text=
"invalid account number")
239                 label.grid(pady=
2)
240                 button = Button(search_frame, text=
"Exit", command=go_page2)
241                 button.grid()
242                 mainloop()
243             
else:
244                 def deduct_money():
245                     new_money = entry12.
get()
246                     result=backend.deduct_balance(new_money, acc_no)
247                     
if result:
248                         add_frame.grid_forget()
249                         page2()
250                     
else:
251                         label=Label(search_frame,text=
"Insufficient Balance")
252                         label.grid(row=
4)
253
254                         button=Button(search_frame,text=
'Exit',command=go_page2)
255                         button.grid(row=
5)
256
257                         mainloop()
258                 search_frame.grid_forget()
259                 
global add_frame
260                 add_frame = Frame(tk)
261                 add_frame.grid(padx=
400, pady=300)
262                 detail=backend.get_detail(acc_no)
263
264                 label=Label(add_frame,text=
'Account holder name: {}'.format(detail[0][0]))
265                 label.grid(row=
0,pady=3)
266
267                 label = Label(add_frame, text=
'Current amount: {}'.format(detail[0][1]))
268                 label.grid(row=
1, pady=3)
269
270                 label = Label(add_frame, text=
'Enter Money')
271                 label.grid(row=
2, pady=3)
272                 
global entry12
273                 entry12 = Entry(add_frame)
274                 entry12.grid(row=
3, pady=3)
275
276                 button = Button(add_frame, text=
'Withdraw', command=deduct_money)
277                 button.grid(row=
4)
278
279                 mainloop()
280         
else:
281             label = Label(search_frame, text=
"Enter correct account number")
282             label.grid(row=
4)
283
284             button = Button(search_frame, text=
'Exit', command=go_page2)
285             button.grid(row=
5)
286
287             mainloop()
288     def search_acc():
289         
global search_frame
290         search_frame = Frame(tk)
291         search_frame.grid(padx=
500, pady=300)
292
293         label = Label(search_frame, text=
"Enter account number", font='bold')
294         label.grid(row=
0, pady=6)
295
296         
global entry11
297         entry11 = Entry(search_frame)
298         entry11.grid(row=
1, pady=6)
299
300         button = Button(search_frame, text=
"Search", command=search_in_database)
301         button.grid(row=
3)
302
303         mainloop()
304
305     search_acc()
306
307 def check():
308     frame1.grid_forget()
309
310     def search_in_database():
311         def back_page2():
312             search_frame.grid_forget()
313             page2()
314         
global result
315         
global acc_no
316         acc_no = entry11.
get()
317         r=check_string_in_account_no(acc_no)
318
319         
if len(acc_no)!=0 and r:
320             result = backend.check_acc_no(acc_no)
321             print(result)
322             
if not result:
323                 label = Label(search_frame, text=
"invalid account number")
324                 label.grid(pady=
2)
325                 button = Button(search_frame, text=
"Exit", command=back_page2)
326                 button.grid()
327                 mainloop()
328             
else:
329                 def delete_check_frame():
330                     check_frame.grid_forget()
331                     page2()
332                 search_frame.grid_forget()
333                 balance=backend.check_balance(acc_no)
334                 
global check_frame
335                 check_frame=Frame(tk)
336                 check_frame.grid(padx=
500,pady=300)
337
338                 label=Label(check_frame,text=
'Balance Is:{}'.format(balance),font='bold')
339                 label.grid(row=
0,pady=4)
340
341                 button=Button(check_frame,text=
'Back',command=delete_check_frame,width=20,height=2,bg='red')
342                 button.grid(row=
1)
343
344                 mainloop()
345         
else:
346             label = Label(search_frame, text=
"Enter correct entry")
347             label.grid(pady=
2)
348             button = Button(search_frame, text=
"Exit", command=back_page2)
349             button.grid()
350             mainloop()
351
352     def search_acc():
353         
global search_frame
354         search_frame = Frame(tk)
355         search_frame.grid(padx=
500, pady=300)
356
357         label = Label(search_frame, text=
"Enter account number", font='bold')
358         label.grid(row=
0, pady=6)
359
360         
global entry11
361
362         entry11 = Entry(search_frame)
363         entry11.grid(row=
1, pady=6)
364
365         button = Button(search_frame, text=
"Search", command=search_in_database)
366         button.grid(row=
3)
367
368         mainloop()
369
370     search_acc()
371
372 def update():
373     def back_to_page2():
374         search_frame.grid_forget()
375         page2()
376     def show_all_updateble_content():
377         def back_to_page2_from_update():
378             update_customer_frame.grid_forget()
379             page2()
380         #defining a function whose makes a update entry and submit butoon side to name button
381         def update_name():
382             #def a function eho updates name
in database
383             def update_name_in_database():
384                 new_name=entry_name.
get()
385                 r=check_string_in_account_no(new_name)
386                 
if len(new_name)!=0:
387                     #function
in backend that updates name in table
388                     backend.update_name_in_bank_table(new_name,acc_no)
389                     entry_name.destroy()
390                     submit_button.destroy()
391                     name_label.destroy()
392                 
else:
393                     tkinter.messagebox.showinfo(
'Error','Please fill blanks')
394                     entry_name.destroy()
395                     submit_button.destroy()
396                     name_label.destroy()
397             
global entry_name
398             
global name_label
399             name_label=Label(update_customer_frame,text=
'Enter new name')
400             name_label.grid(row=
1,column=1)
401             entry_name=Entry(update_customer_frame)
402             entry_name.grid(row=
1,column=2,padx=2)
403             
global submit_button
404             submit_button=Button(update_customer_frame,text=
'Update',command=update_name_in_database)
405             submit_button.grid(row=
1,column=3)
406         #defing a function who make gui fro age
407         def update_age():
408             # def a function eho updates name
in database
409             def update_age_in_database():
410                 new_age = entry_name.
get()
411                 r=check_string_in_account_no(new_age)
412                 
if len(new_age)!=0 and r:
413                     # function
in backend that updates name in table
414                     backend.update_age_in_bank_table(new_age, acc_no)
415                     entry_name.destroy()
416                     submit_button.destroy()
417                     age_label.destroy()
418                 
else:
419                     tkinter.messagebox.showinfo(
'Error','Please enter age')
420                     entry_name.destroy()
421                     submit_button.destroy()
422                     age_label.destroy()
423             
global age_label
424             age_label = Label(update_customer_frame, text=
'Enter new Age:')
425             age_label.grid(row=
2, column=1)
426             
global entry_name
427             entry_name = Entry(update_customer_frame)
428             entry_name.grid(row=
2, column=2, padx=2)
429             
global submit_button
430             submit_button = Button(update_customer_frame, text=
'Update', command=update_age_in_database)
431             submit_button.grid(row=
2, column=3)
432
433         # defing a function who make gui fro age
434         def update_address():
435             # def a function eho updates name
in database
436             def update_address_in_database():
437                 new_address = entry_name.
get()
438                 
if len(new_address)!=0:
439                     # function
in backend that updates name in table
440                     backend.update_address_in_bank_table(new_address, acc_no)
441                     entry_name.destroy()
442                     submit_button.destroy()
443                     address_label.destroy()
444                 
else:
445                     tkinter.messagebox.showinfo(
'Error','Please fill address')
446                     entry_name.destroy()
447                     submit_button.destroy()
448                     address_label.destroy()
449             
global address_label
450
451             address_label = Label(update_customer_frame, text=
'Enter new Address:')
452             address_label.grid(row=
3, column=1)
453             
global entry_name
454             entry_name = Entry(update_customer_frame)
455             entry_name.grid(row=
3, column=2, padx=2)
456             
global submit_button
457             submit_button = Button(update_customer_frame, text=
'Update', command=update_address_in_database)
458             submit_button.grid(row=
3, column=3)
459
460         acc_no=entry_acc.
get()
461
462         r=check_string_in_account_no(acc_no)
463         
if r:
464             result = backend.check_acc_no(acc_no)
465             
if result:
466                 search_frame.grid_forget()
467                 
global update_customer_frame
468                 update_customer_frame=Frame(tk)
469                 update_customer_frame.grid(padx=
300,pady=300)
470
471                 label=Label(update_customer_frame,text=
'What do you want to update')
472                 label.grid(row=
0)
473
474                 name_button=Button(update_customer_frame,text=
'Name',command=update_name)
475                 name_button.grid(row=
1,column=0,pady=6)
476
477                 age_button=Button(update_customer_frame,text=
'Age',command=update_age)
478                 age_button.grid(row=
2,column=0,pady=6)
479
480                 address_button=Button(update_customer_frame,text=
'Address',command=update_address)
481                 address_button.grid(row=
3,column=0,pady=6)
482
483                 exit_button=Button(update_customer_frame,text=
'Exit',command=back_to_page2_from_update)
484                 exit_button.grid(row=
4)
485                 mainloop()
486             
else:
487                 label = Label(search_frame, text=
'Invalid account number')
488                 label.grid()
489
490                 button = Button(search_frame, text=
'Exit', command=back_to_page2)
491                 button.grid()
492
493         
else:
494             label=Label(search_frame,text=
'Fill account number')
495             label.grid()
496
497             button=Button(search_frame,text=
'Exit',command=back_to_page2)
498             button.grid()
499
500     frame1.grid_forget()
501     #define gui
for enter account number
502
503     
global search_frame
504     search_frame=Frame(tk)
505     search_frame.grid(padx=
500,pady=300)
506
507     label=Label(search_frame,text=
'Enter account number',font='bold')
508     label.grid(pady=
4)
509
510     entry_acc=Entry(search_frame)
511     entry_acc.grid(pady=
4)
512
513     button=Button(search_frame,text=
'update',command=show_all_updateble_content,bg='red')
514     button.grid()
515
516 def allmembers():
517     def clear_list_frame():
518         list_frame.grid_forget()
519         page2()
520     frame1.grid_forget()
521     details=backend.list_all_customers()
522     
global tk
523
524
525     
global list_frame
526     list_frame=Frame(tk)
527     list_frame.grid(padx=
50,pady=50)
528     label=Label(list_frame,text=
"Acc_no\t\t\tName\t\t\tAge\t\t\tAddress\t\t\tbalance")
529     label.grid(pady=
6)
530     
for i in details:
531         label=Label(list_frame,text=
"{}\t\t\t{}\t\t\t{}\t\t\t{}\t\t\t{}".format(i[0],i[1],i[2],i[3],i[4]))
532         label.grid(pady=
4)
533
534     button=Button(list_frame,text=
'Back',width=20,height=2,bg='red',command=clear_list_frame)
535     button.grid()
536     mainloop()
537
538 def delete():
539     frame1.grid_forget()
540
541     def search_in_database():
542         def back_page2():
543             search_frame.grid_forget()
544             page2()
545         
global result
546         
global acc_no
547         acc_no = entry11.
get()
548         r=check_string_in_account_no(acc_no)
549         
if len(acc_no)!=0 and r:
550             result = backend.check_acc_no(acc_no)
551             print(result)
552             
if not result:
553
554                 label = Label(search_frame, text=
"invalid account number")
555                 label.grid(pady=
2)
556                 button = Button(search_frame, text=
"Exit", command=back_page2)
557                 button.grid()
558                 mainloop()
559             
else:
560                 backend.delete_acc(acc_no)
561                 search_frame.grid_forget()
562                 page2()
563         
else:
564             label = Label(search_frame, text=
"Enter correct account number")
565             label.grid(pady=
2)
566             button = Button(search_frame, text=
"Exit", command=back_page2)
567             button.grid()
568     def search_acc():
569         
global search_frame
570         search_frame = Frame(tk)
571         search_frame.grid(padx=
500, pady=300)
572
573         label = Label(search_frame, text=
"Enter account number", font='bold')
574         label.grid(row=
0, pady=6)
575
576         
global entry11
577         entry11 = Entry(search_frame)
578         entry11.grid(row=
1, pady=6)
579
580         button = Button(search_frame, text=
"Delete", command=search_in_database)
581         button.grid(row=
3)
582
583         mainloop()
584
585     search_acc()
586
587 #main page
for employees
588 def page2():
589     def back_to_main_from_page2():
590         frame1.grid_forget()
591         
global frame
592         frame = Frame(tk, bg=
'black')
593         frame.grid(padx=
500, pady=250)
594
595         button = Button(frame, text=
"Admin", command=admin_login)
596         button.grid(row=
0, pady=20)
597
598         button = Button(frame, text=
"Employee", command=employee_login)
599         button.grid(row=
1, pady=20)
600
601         button = Button(frame, text=
"Exit", command=tk.destroy)
602         button.grid(row=
2, pady=20)
603         tk.mainloop()
604
605     frame.grid_forget()
606     
global frame1
607     frame1=Frame(tk,bg=
'black')
608     frame1.grid(padx=
500,pady=100)
609     button1 = Button(frame1, text=
"Create Account", command=create,width=20,height=2)
610     button1.grid(row=
0,pady=6)
611     button2 = Button(frame1, text=
"Show Details", command=search_acc,width=20,height=2)
612     button2.grid(row=
1,pady=6)
613     button3 = Button(frame1, text=
"Add balance", command=add,width=20,height=2)
614     button3.grid(row=
2,pady=6)
615     button4 = Button(frame1, text=
"Withdraw money", command=withdraw,width=20,height=2)
616     button4.grid(row=
3,pady=6)
617     button5 = Button(frame1, text=
"Check balance", command=check,width=20,height=2)
618     button5.grid(row=
4,pady=6)
619     button6 = Button(frame1, text=
"Update Account", command=update,width=20,height=2)
620     button6.grid(row=
5,pady=6)
621     button7 = Button(frame1, text=
"List of all members", command=allmembers,width=20,height=2)
622     button7.grid(row=
6,pady=6)
623     button8 = Button(frame1, text=
"Delete Account", command=delete,width=20,height=2)
624     button8.grid(row=
7,pady=6)
625
626     button9 = Button(frame1, text=
"Exit", command=back_to_main_from_page2,width=20,height=2)
627     button9.grid(row=
8,pady=6)
628
629     mainloop()
630
631
632 #all buttons of page1
633 def create_employee():
634     def create_emp_in_database():
635         def back_to_main_page1_from_create_emp():
636             frame_create_emp.grid_forget()
637             page1()
638
639         name = entry3.
get()
640         password = entry4.
get()
641         salary = entry16.
get()
642         position = entry17.
get()
643         
if len(name) != 0 and len(password) != 0 and len(salary) != 0 and len(position) != 0:
644             backend.create_employee(name, password, salary, position)
645             frame_create_emp.grid_forget()
646             page1()
647         
else:
648             label = Label(frame_create_emp, text=
"Please fill all entries")
649             label.grid(pady=
2)
650
651             button = Button(frame_create_emp, text=
"Exit", command=back_to_main_page1_from_create_emp, bg='red')
652             button.grid()
653     page1_frame.grid_forget()
654
655     
global frame_create_emp
656     frame_create_emp=Frame(tk,bg=
'black')
657     frame_create_emp.grid(padx=
500,pady=200)
658
659     label=Label(frame_create_emp,text=
'Name:',font='bold')
660     label.grid(row=
0,pady=4)
661     
global entry3
662     entry3=Entry(frame_create_emp)
663     entry3.grid(row=
1,pady=4)
664     label2=Label(frame_create_emp,text=
'Password',font='bold')
665     label2.grid(row=
2,pady=4)
666     
global entry4
667     entry4=Entry(frame_create_emp)
668     entry4.grid(row=
3,pady=4)
669     label3 = Label(frame_create_emp, text=
'Salary',font='bold')
670     label3.grid(row=
4,pady=4)
671     
global entry16
672     entry16 = Entry(frame_create_emp)
673     entry16.grid(row=
5,pady=4)
674     label4 = Label(frame_create_emp, text=
'Position',font='bold')
675     label4.grid(row=
6,pady=4)
676     
global entry17
677     entry17 = Entry(frame_create_emp)
678     entry17.grid(row=
7,pady=4)
679
680     button=Button(frame_create_emp,text=
'Submit',command=create_emp_in_database,width=15,height=2)
681     button.grid(row=
8,pady=4)
682
683     mainloop()
684
685 def update_employee():
686     def update_details_of_staff_member():
687         def back_to_page1():
688             show_employee_frame.grid_forget()
689             page1()
690         def update_that_particular_employee():
691             show_employee_frame.grid_forget()
692             def back_to_page1_from_update():
693                 update_frame.destroy()
694                 page1()
695
696             def update_name_in_database():
697
698                 def database_calling():
699                     new_name = entry19.
get()
700                     
if len(new_name)!=0:
701                         old_name=staff_name.
get()
702                         backend.update_employee_name(new_name,old_name)
703                         entry19.destroy()
704                         update_button.destroy()
705                     
else:
706                         entry19.destroy()
707                         update_button.destroy()
708                         tkinter.messagebox.showinfo(
'Error','Please fill entry')
709                 
global entry19
710                 entry19 = Entry(update_frame)
711                 entry19.grid(row=
1, column=1, padx=4)
712                 
global update_button
713                 update_button = Button(update_frame, text=
'Update', command=database_calling)
714                 update_button.grid(row=
1, column=2, padx=4)
715
716             def update_password_in_database():
717
718                 def database_calling():
719                     new_password = entry19.
get()
720                     old_name=staff_name.
get()
721                     
if len(new_password)!=0:
722                         backend.update_employee_password(new_password,old_name)
723                         entry19.destroy()
724                         update_button.destroy()
725                     
else:
726                         entry19.destroy()
727                         update_button.destroy()
728                         tkinter.messagebox.showinfo(
'Error','Please Fill Entry')
729                 
global entry19
730                 entry19 = Entry(update_frame)
731                 entry19.grid(row=
2, column=1, padx=4)
732                 
global update_button
733                 update_button = Button(update_frame, text=
'Update', command=database_calling)
734                 update_button.grid(row=
2, column=2, padx=4)
735
736             def update_salary_in_database():
737
738                 def database_calling():
739                     new_salary = entry19.
get()
740                     r=check_string_in_account_no(new_salary)
741                     
if len(new_salary)!=0 and r:
742
743                         old_name=staff_name.
get()
744                         backend.update_employee_salary(new_salary,old_name)
745                         entry19.destroy()
746                         update_button.destroy()
747                     
else:
748                         entry19.destroy()
749                         update_button.destroy()
750                         tkinter.messagebox.showinfo(
'Error','Invalid Input')
751
752                 
global entry19
753                 entry19 = Entry(update_frame)
754                 entry19.grid(row=
3, column=1, padx=4)
755                 
global update_button
756                 update_button = Button(update_frame, text=
'Update', command=database_calling)
757                 update_button.grid(row=
3, column=2, padx=4)
758
759             def update_position_in_database():
760
761                 def database_calling():
762                     new_position = entry19.
get()
763                     
if len(new_position)!=0:
764
765                         old_name=staff_name.
get()
766                         backend.update_employee_position(new_position,old_name)
767                         entry19.destroy()
768                         update_button.destroy()
769                     
else:
770                         entry19.destroy()
771                         update_button.destroy()
772                         tkinter.messagebox.showinfo(
'Error','Please Fill Entry')
773
774                 
global entry19
775                 entry19 = Entry(update_frame)
776                 entry19.grid(row=
4, column=1, padx=4)
777                 
global update_button
778                 update_button = Button(update_frame, text=
'Update', command=database_calling)
779                 update_button.grid(row=
4, column=2, padx=4)
780
781             
global update_frame
782             update_frame = Frame(tk)
783             update_frame.grid(padx=
400, pady=250)
784
785             label = Label(update_frame, text=
'press what do you want to update',font='bold')
786             label.grid(pady=
6)
787
788             button = Button(update_frame, text=
'Name', command=update_name_in_database,width=14,height=2)
789             button.grid(row=
1, column=0, padx=2,pady=2)
790
791             button = Button(update_frame, text=
'password',command=update_password_in_database,width=14,height=2)
792             button.grid(row=
2, column=0, padx=2,pady=2)
793
794             button = Button(update_frame, text=
'salary',command=update_salary_in_database,width=14,height=2)
795             button.grid(row=
3, column=0, padx=2,pady=2)
796
797             button = Button(update_frame, text=
'position',command=update_position_in_database,width=14,height=2)
798             button.grid(row=
4, column=0, padx=2,pady=2)
799
800             button = Button(update_frame, text=
'Back', command=back_to_page1_from_update,width=14,height=2)
801             button.grid(row=
5, column=0,pady=2)
802
803
804
805
806         name=staff_name.
get()
807         
if len(name)!=0:
808             result=backend.check_name_in_staff(name)
809             
if result:
810
811                 update_that_particular_employee()
812             
else:
813                 label = Label(show_employee_frame, text=
'Employee not found')
814                 label.grid()
815
816                 button = Button(show_employee_frame, text=
'Exit', command=back_to_page1)
817                 button.grid()
818
819         
else:
820             label=Label(show_employee_frame,text=
'Fill the name')
821             label.grid()
822
823             button=Button(show_employee_frame,text=
'Exit',command=back_to_page1)
824             button.grid()
825
826
827
828
829     #entering name of staff member
830     page1_frame.grid_forget()
831     
global show_employee_frame
832     show_employee_frame=Frame(tk)
833     show_employee_frame.grid(padx=
300,pady=300)
834
835     label=Label(show_employee_frame,text=
'Enter name of staff member whom detail would you want to update')
836     label.grid()
837     
global staff_name
838     staff_name=Entry(show_employee_frame)
839     staff_name.grid()
840     
global update_butoon_for_staff
841     update_butoon_for_staff=Button(show_employee_frame,text=
'Update Details',command=update_details_of_staff_member)
842     update_butoon_for_staff.grid()
843
844 def show_employee():
845     def back_to_main_page1():
846         show_employee_frame.grid_forget()
847         page1()
848     page1_frame.grid_forget()
849
850     
global show_employee_frame
851     show_employee_frame=Frame(tk)
852     show_employee_frame.grid(padx=
50,pady=50)
853
854     label=Label(show_employee_frame,text=
'Name\t\t\tSalary\t\t\tPosition\t\t\tpassword',font='bold')
855     label.grid(row=
0)
856
857     details=backend.show_employees()
858
859     
for i in details:
860         label=Label(show_employee_frame,text=
"{}\t\t\t{}\t\t\t{}\t\t\t{}".format(i[0],i[1],i[2],i[3]))
861         label.grid(pady=
4)
862
863     button=Button(show_employee_frame,text=
'Exit',command=back_to_main_page1,width=20,height=2,bg='red',font='bold')
864     button.grid()
865
866     mainloop()
867
868 def Total_money():
869     def back_to_main_page1_from_total_money():
870         all_money.grid_forget()
871         page1()
872
873     page1_frame.grid_forget()
874
875     all=backend.all_money()
876
877     
global all_money
878     all_money=Frame(tk)
879     all_money.grid(padx=
500,pady=300)
880
881     label=Label(all_money,text=
"Total Amount of money")
882     label.grid(row=
0,pady=6)
883
884     label=Label(all_money,text=
'{}'.format(all))
885     label.grid(row=
1)
886
887     button=Button(all_money,text=
"Back",command=back_to_main_page1_from_total_money,width=15,height=2)
888     button.grid(row=
3)
889
890     mainloop()
891
892 def back_to_main():
893     page1_frame.grid_forget()
894     
global frame
895     frame = Frame(tk, bg=
'black')
896     frame.grid(padx=
500, pady=250)
897
898     button = Button(frame, text=
"Admin", command=admin_login)
899     button.grid(row=
0, pady=20)
900
901     button = Button(frame, text=
"Employee", command=employee_login)
902     button.grid(row=
1, pady=20)
903
904     button = Button(frame, text=
"Exit", command=tk.destroy)
905     button.grid(row=
2, pady=20)
906     tk.mainloop()
907
908     mainloop()
909
910 #mai page
for admin
911 def page1():
912     def back_to_main2():
913         admin_frame.grid_forget()
914         
global frame
915         frame = Frame(tk, bg=
'black')
916         frame.grid(padx=
500, pady=250)
917
918         button = Button(frame, text=
"Admin", command=admin_login)
919         button.grid(row=
0, pady=20)
920
921         button = Button(frame, text=
"Employee", command=employee_login)
922         button.grid(row=
1, pady=20)
923
924         button = Button(frame, text=
"Exit", command=tk.destroy)
925         button.grid(row=
2, pady=20)
926         tk.mainloop()
927
928         mainloop()
929
930     name=entry1.
get()
931     password=entry2.
get()
932     
if len(name)!=0 and len(password)!=0:
933         result=backend.check_admin(name,password)
934         print(result)
935         
if result:
936             admin_frame.grid_forget()
937
938             
global page1_frame
939             page1_frame = Frame(tk, bg=
'black')
940             page1_frame.grid(padx=
500, pady=200)
941
942             button10 = Button(page1_frame, text=
"New Employee", command=create_employee, width=20, height=2)
943             button10.grid(row=
0, pady=6)
944
945             button11 = Button(page1_frame, text=
"Update detail", command=update_employee, width=20, height=2)
946             button11.grid(row=
1, pady=6)
947
948             button13 = Button(page1_frame, text=
"Show All Employee", command=show_employee, width=20, height=2)
949             button13.grid(row=
2, pady=6)
950
951             button11 = Button(page1_frame, text=
"Total Money", command=Total_money, width=20, height=2)
952             button11.grid(row=
3, pady=6)
953
954             button12 = Button(page1_frame, text=
"Back", command=back_to_main, width=20, height=2)
955             button12.grid(row=
4, pady=6)
956
957             mainloop()
958         
else:
959             label=Label(admin_frame,text=
"Invalid id and pasasword")
960             label.grid(row=
6,pady=10)
961             button=Button(admin_frame,text=
'Exit',command=back_to_main2)
962             button.grid(row=
7)
963             mainloop()
964     
else:
965         label = Label(admin_frame, text=
"Please fill All Entries")
966         label.grid(row=
6, pady=10)
967         button = Button(admin_frame, text=
'Exit', command=back_to_main2)
968         button.grid(row=
7)
969         mainloop()
970
971 #Login form
for employee
972 def employee_login():
973     def back_to_main3():
974         employee_frame.grid_forget()
975         
global frame
976         frame = Frame(tk, bg=
'black')
977         frame.grid(padx=
400, pady=250)
978
979         button = Button(frame, text=
"Admin", command=admin_login)
980         button.grid(row=
0, pady=20)
981
982         button = Button(frame, text=
"Employee", command=employee_login)
983         button.grid(row=
1, pady=20)
984
985         button = Button(frame, text=
"Exit", command=tk.destroy)
986         button.grid(row=
2, pady=20)
987         tk.mainloop()
988
989         mainloop()
990     def check_emp():
991         name = entry1.
get()
992         password = entry2.
get()
993         
if len(name) != 0 and len(password) != 0:
994             result = backend.check_employee(name, password)
995             print(result)
996             
if result:
997                 employee_frame.grid_forget()
998                 page2()
999             
else:
1000                 label = Label(employee_frame, text=
"Invalid id and pasasword")
1001                 label.grid(row=
6, pady=10)
1002                 button = Button(employee_frame, text=
'Exit', command=back_to_main3)
1003                 button.grid(row=
7)
1004
1005                 mainloop()
1006         
else:
1007             label = Label(employee_frame, text=
"Please Fill All Entries")
1008             label.grid(row=
6, pady=10)
1009             button = Button(employee_frame, text=
'Exit', command=back_to_main3)
1010             button.grid(row=
7)
1011
1012             mainloop()
1013     frame.grid_forget()
1014
1015     
global employee_frame
1016     employee_frame = Frame(tk, bg=
'black')
1017     employee_frame.grid(padx=
500, pady=200)
1018
1019     label = Label(employee_frame, text=
"Employee Login", font='bold')
1020     label.grid(row=
0, pady=20)
1021
1022     label1 = Label(employee_frame, text=
"Name:")
1023     label1.grid(row=
1, pady=10)
1024
1025     label2 = Label(employee_frame, text=
"Password:")
1026     label2.grid(row=
3, pady=10)
1027     
global entry1
1028     
global entry2
1029     entry1 = Entry(employee_frame)
1030     entry1.grid(row=
2, pady=10)
1031
1032     entry2 = Entry(employee_frame,show=
'*')
1033     entry2.grid(row=
4, pady=10)
1034
1035     button = Button(employee_frame, text=
"Submit", command=check_emp)
1036     button.grid(row=
5, pady=20)
1037     mainloop()
1038
1039 #Login form
for admin
1040 def admin_login():
1041     frame.grid_forget()
1042     
global admin_frame
1043     admin_frame = Frame(tk, bg=
'black')
1044     admin_frame.grid(padx=
500, pady=250)
1045
1046     label = Label(admin_frame, text=
"Admin Login", font='bold')
1047     label.grid(row=
0, pady=20)
1048
1049     label1 = Label(admin_frame, text=
"Name:")
1050     label1.grid(row=
1, pady=10)
1051
1052     label2 = Label(admin_frame, text=
"Password:")
1053     label2.grid(row=
3, pady=10)
1054     
global entry1
1055     
global entry2
1056     entry1 = Entry(admin_frame)
1057     entry1.grid(row=
2, pady=10)
1058
1059     entry2 = Entry(admin_frame,show=
'*')
1060     entry2.grid(row=
4, pady=10)
1061
1062     button = Button(admin_frame, text=
"Submit", command=page1)
1063     button.grid(row=
5, pady=20)
1064     mainloop()
1065
1066
1067
1068 #creating window

1069 global
tk
1070 tk=Tk()
1071
1072
1073 tk.config(bg=
'black')
1074 tk.title(
'Bank Managing System')
1075 tk.minsize(
1200,800)
1076 tk.maxsize(
1200,800)
1077
1078
1079
1080
1081 global
frame
1082 frame=Frame(tk,bg=
'black')
1083 frame.grid(padx=
500,pady=250)
1084
1085
1086 button=Button(frame,text=
"Admin",command=admin_login)
1087 button.grid(row=
0,pady=20)
1088
1089 button=Button(frame,text=
"Employee",command=employee_login)
1090 button.grid(row=
1,pady=20)
1091
1092 button=Button(frame,text=
"Exit",command=tk.destroy)
1093 button.grid(row=
2,pady=20)
1094 tk.mainloop()


Gõ tìm kiếm nhanh...